<?php namespace Common\Model; 

use Hdphp\Model\Model;
use Common\Model\OrderList;
//商品列表模型
class Order extends Model{
	// 指定表名
	protected $table='orders';

	// 自动验证
	protected $validate=array(
		array('consignee','required','请填写收货人',3,1),
		array('phone','required','请填写联系电话',3,1),
		array('address','required','请填写收货地址',3,1),
		);

	// 添加【订单和订单列表】
	public function store(){
// 【添加订单表】
		// 获取地址并重新组合
		$province=(Q('post.s_province'));//省份
		$city=(Q('post.s_city'));		//城市
		$county=(Q('post.s_county'));	
		$address=(Q('post.address'));
		// 组合收获地址
		if($province==$city){
			$address=$city.$county.$address;
		}else{
			$address=$province.$city.$county.$address;
		}
		// sp($address);
		// 组合要插入的数据
		$data=array(
			'address'=>$address,			   //收货地址
			'consignee'=>Q('post.consignee'),  //收货人
			'postcode'=>Q('post.postcode'),	   //邮政编码
			'phone'=>Q('post.phone'),		   //电话号码
			'totalprice'=>Q('post.totalprice'),//价格总计
			'remark'=>Q('post.remark'),	       //备注说明
			'status'=>'待发货',			       //发货状态
			'number'=>Cart::getOrderId(),      //订单号
			'user_uid'=>$_SESSION['uid'],      //用户ID
			'addtime'=>time(),			       //添加时间
			);
		// die;
		// 触发自动验证
		if(!$this->create()) return false;
		// 添加订单表数据并且获得订单的自增ID
		$oid=$this->add($data);
		 
// 【添加订单列表】
		// sp($_SESSION['cart']['goods']);
		// 实例化订单模型
		$orderListModel=new OrderList;
			// 如果该订单存在
		if($oid){
			foreach ($_SESSION['cart']['goods'] as $k => $v){
				// sp($v);
				$orderList=array(
					'quantity'=>$v['num'],		    //购买的数量
					'subtotalprice'=>$v['total'],   //商品价格小计
					'descr'=>Q('post.remark'),	    //备注信息
					'goods_gid'=>$v['id'],		    //所属商品ID
					'goods_list_glid'=>$v['glid'],  //所属货品列表ID
					'glnumber'=>$v['glnumber'],		//货品货号
					'orders_oid'=>$oid,				//所属订单ID
					);

				// sp($orderList);
				$orderListModel->add($orderList);
			}
		}
		
		return $oid;
	}

	public function edit($oid){
		
		// 获取订单状态。快递，以及订单号

		$data=array(
			'expressage'=>Q('post.expressage'),
			'status'=>Q('post.status'),
			'courierNo'=>Q('post.courierNo'),
			);
			// sp($data);die;
			$this->where("oid='{$oid}'")->save($data);
		
		return true;
	}



}